#!/bin/bash
# OpenBMC Yocto环境初始化和配置脚本
# 此脚本必须在OpenBMC源码目录中source执行

set -e

OPENBMC_SOURCE="${OPENBMC_SOURCE:-/workspace/data/openbmc_source}"

cd "$OPENBMC_SOURCE"

# Source setup脚本以初始化环境
echo "初始化Yocto环境..."
. setup qemuarm

# 配置local.conf
echo "配置local.conf..."
cat >> build/conf/local.conf << 'EOF'

# ============================================================================
# OpenBMC ABI分析工具 - 自定义配置
# ============================================================================

# 并行编译优化（根据容器资源调整）
BB_NUMBER_THREADS = "4"
PARALLEL_MAKE = "-j 4"

# 启用调试符号（用于ABI分析）
DEBUG_BUILD = "1"

# 启用共享状态缓存（加速后续编译）
SSTATE_DIR = "${TOPDIR}/sstate-cache"

# 保留源码和构建目录（便于提取库文件）
RM_WORK_EXCLUDE += "sdbusplus libpldm phosphor-logging phosphor-dbus-interfaces gpioplus stdplus"

# 日志配置
BBINCLUDELOGS = "yes"

# 设置下载目录（缓存）
DL_DIR = "${TOPDIR}/downloads"
EOF

echo "配置完成！"
echo "构建目录: $OPENBMC_SOURCE/build"

